Conventionally, a printing apparatus which prints characters or images on a printing medium such as a sheet material (e.g., printing paper and a thin plastic plate), and recently a CD (medium to be printed) has been known. In this printing apparatus, a microprocessing unit (MPU) incorporated in the printing apparatus to control the printing apparatus analyzes reception data from a host computer connected to the printing apparatus, and executes a printer control program which implements printer engine control and the like (e.g., convey of a printing medium, and control of a printhead).
A program indicating the control sequence of this MPU is stored in a nonvolatile EPROM or mask ROM. Hardware is used for the engine control such as generation of a driving pulse for the printhead, and various logic units for generation of print data and the like. Recently, a gate array on which these logic portions are integrated in one LSI is generally used.
However, in the above-described conventional printing apparatus, the contents of an EPROM or mask ROM which stores the printer control program are not rewritten on the user side. Hence, when the printer control program needs to be updated in accordance with upgrading, the existing nonvolatile EPROM or mask ROM incorporated in the printing apparatus is changed to a nonvolatile EPROM or mask ROM which stores a new printer control program, thereby updating the printer control program.
Generally, such nonvolatile EPROM or mask ROM is not easily replaced, and this replacement is done by a serviceman, or by carrying the apparatus body in a service center.
For example, according to one method for updating the printer control programs, a flash memory stores the printer control program for the printing apparatus, and a ROM independently incorporated in the printing apparatus stores a rewrite program for the flash memory. When the printer control program needs to be updated, a new printer control program is received from the host computer, and the printer control program in the flash memory is updated to the received program data by the rewrite program stored in the ROM.
Generally, since firmware such as the printer control program is updated by rewriting the contents of the flash memory or EEPROM which stores the firmware, the contents of the firmware before the rewrite is erased. Therefore, when the program data used for updating is failed, or when the rewrite operation is failed because of power-off, contact failure of a cable, noise, and the like during rewriting the firmware, there are risks that the firmware becomes illicit, and an end user cannot cope with the failure.
That is, such firmware updating process requires a special operation which is unfamiliar to the user. Also, when the rewrite operation is failed, the user must bear the risk of a failure with which the user cannot cope.
Alternatively, assume that firmware programs of a plurality of the printing apparatuses are rewritten by one host computer which can transmit new firmware, for example, that the ROM contents need to be rewritten during the manufacture of products in a factory, and that the ROM contents are rewritten in the service center after the manufacture. Whenever the printing apparatus is set in the download mode to rewrite the firmware, and connected to the host computer, a new printer is registered to the host computer. As a result, the operation speed of the host computer becomes low, and sometimes, the user cannot recognize which printer of the registered printers is currently used.
As described above, when one host computer rewrites the firmware programs of the plurality of printing apparatuses in the factory or service center, the larger the number of printing apparatuses which rewrite the firmware, the larger the number of extra printers registered in the host computer, thereby particularly degrading the efficiency.